package com.tjec.project.businessStandardLibrary.mapper;

import com.tjec.project.businessStandardLibrary.domain.BmsKnowledgeCase;
import com.tjec.project.system.domain.BmsAttachment;
import com.tjec.project.system.domain.BmsMdBusinessCategory;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * 典型案例Mapper接口
 * 
 * @author pangyongfeng
 * @date 2020-04-21
 */
public interface BmsKnowledgeCaseMapper 
{
    /**
     * 查询典型案例
     * 
     * @param guid 典型案例ID
     * @return 典型案例
     */
    public BmsKnowledgeCase selectBmsKnowledgeCaseByGuid(@Param("guid")String guid);


    /**
     * 查询典型案例列表
     * 
     * @param bmsKnowledgeCase 典型案例
     * @return 典型案例集合
     */
    public List<BmsKnowledgeCase> selectBmsKnowledgeCaseList(BmsKnowledgeCase bmsKnowledgeCase);

    /**
     * 查询典型案例列表
     *
     * @param bmsKnowledgeCase 典型案例
     * @return 典型案例集合
     */
    public List<BmsKnowledgeCase> selectBmsKnowledgeCaseListByGuIds(BmsKnowledgeCase bmsKnowledgeCase);

    /**
     * 新增典型案例
     * 
     * @param bmsKnowledgeCase 典型案例
     * @return 结果
     */
    public int insertBmsKnowledgeCase(BmsKnowledgeCase bmsKnowledgeCase);

    /**
     * 修改典型案例
     * 
     * @param bmsKnowledgeCase 典型案例
     * @return 结果
     */
    public int updateBmsKnowledgeCase(BmsKnowledgeCase bmsKnowledgeCase);

    /**
     * 删除典型案例
     * 
     * @param guid 典型案例ID
     * @return 结果
     */
    public int deleteBmsKnowledgeCaseByGuid(@Param("guid")String guid);

    /**
     * 批量删除典型案例
     * 
     * @param guids 需要删除的数据ID
     * @return 结果
     */
    public int deleteBmsKnowledgeCaseByGuids(@Param("guids")String[] guids);
    /**
     *
     *@describe  不带上业务树的查询
     *@params   bmsKnowledgeCase
     *@return BmsKnowledgeCase
     *@author VillWang
     *@date 2020/4/29
     *@other
     *
     */
    List<BmsKnowledgeCase> selectBmsKnowledgeCaseListNoTree(BmsKnowledgeCase bmsKnowledgeCase);
    /**
     * 查询典型案例 详情 villwang
     *
     * @param guid 典型案例ID
     * @return 典型案例
     */
    BmsKnowledgeCase selectBmsKnowledgeCaseByGuiddetails(@Param("guid")String guid);

    List<BmsAttachment> queryAttachmentByBizId(@Param("guid")String guid);

    List<BmsMdBusinessCategory> queryBusinessCategorysByParentGuid(@Param("guid")String guid);

    /**
     * 典型案例列表
     * @param bmsKnowledgeCase
     * @return
     */
    List<BmsKnowledgeCase> selectBmsKnowledgeCaseMobileList(BmsKnowledgeCase bmsKnowledgeCase);
}
